﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using liclSolcred.Views;
using com.creditos.be.liclSolcred;
using com.creditos.util.liclUtil;
using com.creditos.be.liclUtil;

public partial class solcred_FormsConEstrategiasCredito : CreditosPaseBase, IFormsEstrategiasCreditoView
{

    private liclSolcred.Views.FormsEstrategiasCreditoPresenter oPresenter = new FormsEstrategiasCreditoPresenter();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            oPresenter.View = this;
            Master.TituloModulo = "Estrategias Crédito";
            oPresenter.ListarProductos(new ProductoBE());
            InsertarSeleccione();
            UCBarraHerramientas1.btnNuevo.Visible = true;            
            UCBarraHerramientas1.btnActualizar.Visible = true;
            UCBarraHerramientas1.btnRegresar.Visible = true;
           
            
        }
        oPresenter.View = this;
    }

    protected override void DefineHandlers()
    {
        ddlProducto.SelectedIndexChanged += new EventHandler(ddlProducto_SelectedIndexChanged);
        UCBarraHerramientas1.btnActualizar.Click += new EventHandler(btnActualizar_Click);
        chbTodos.CheckedChanged += new EventHandler(chbTodos_CheckedChanged);
        UCBarraHerramientas1.btnNuevo.Click += new EventHandler(btnNuevo_Click);
        gvwEstrategiasCredito.SelectedIndexChanged += new EventHandler(gvwEstrategiasCredito_SelectedIndexChanged);
    }

    #region IFormsEstrategiasCreditoView Members

    public void CargarProductos(List<ProductoBE> lstProductos)
    {
        UIBindable.Bind(ddlProducto, lstProductos, "CodigoProducto", "DescripcionProducto");
    }

    public void CargarSubProductos(List<SubProductoBE> lstSubProductos)
    {
        UIBindable.Bind(ddlSubProducto, lstSubProductos, "CodigoSubProducto", "DescripcionSubProducto");
        UIBindable.InsertarSeleccionar(ddlSubProducto);
    }

    public void MostrarMensajeError(string strMensaje)
    {
        Master.MostrarMensaje(strMensaje, 0);
    }

    public void CargarEstrategias(List<EstrategiasCreditoBE> lstEstrategia)
    {
        UIBindable.Bind(gvwEstrategiasCredito, lstEstrategia);
    }



    public void CargarListaPlantillaPorTipo(List<EstrategiasCreditoBE> lstEstrategia, int intTipoPlantilla)
    {
        throw new NotImplementedException();
    }


    public void ObtenerEstrategia(List<EstrategiasCreditoBE> lstEstrategia)
    {
        throw new NotImplementedException();
    }

    #endregion


    void ddlProducto_SelectedIndexChanged(object sender, EventArgs e)
    {
        ProductoBE oProducto = new ProductoBE();
        oProducto.CodigoProducto = int.Parse(Utilitario.DarFormatoEnteroCero(ddlProducto.SelectedValue));
        oPresenter.ListarSubProductos(oProducto);

    }

    void chbTodos_CheckedChanged(object sender, EventArgs e)
    {
        if (chbTodos.Checked)
        {

            ddlProducto.Enabled = false;
            ddlSubProducto.Enabled = false;
        }
        else {

            ddlProducto.Enabled = true;
            ddlSubProducto.Enabled = true;
        }
    }

    public void InsertarSeleccione()
    {
        List<Control> lstControles = new List<Control>();
        lstControles = Utilitario.ListarControles(Page, 2);
        foreach (Control item in lstControles)
        {
            UIBindable.InsertarSeleccionar((DropDownList)item);
        }
    }

    void btnActualizar_Click(object sender, EventArgs e)
    {
        EstrategiasCreditoBE oEstrategia = new EstrategiasCreditoBE();
        if (chbTodos.Checked)
        {
            oEstrategia.Accion = 1;
        }
        else
        {
            oEstrategia.Accion = 2;
        }
        oEstrategia.CodigoProducto = int.Parse(Utilitario.DarFormatoEnteroCero(ddlProducto.SelectedValue.ToString()));
        oEstrategia.CodigoSubProducto = int.Parse(Utilitario.DarFormatoEnteroCero(ddlSubProducto.SelectedValue.ToString()));

        oPresenter.ListarEstrategiasCredito(oEstrategia);
    }

    void btnNuevo_Click(object sender, EventArgs e)
    {
        Response.Redirect("FormsManEstrategiasCredito.aspx?Accion=" + 1);
    }

    protected void gvwEstrategiasCredito_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (gvwEstrategiasCredito.Rows.Count > 0)
        {
            GridViewRow row = gvwEstrategiasCredito.SelectedRow;

            strCodigoEstrategia = row.Cells[1].Text;            

            string url = "FormsManEstrategiasCredito.aspx?Accion=" + 2;
            string script = "window.location = '" + url + "';";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "RedirectTo", script, true);
        }
    }

    #region Propiedades
    public string strCodigoEstrategia
    {
        set { Session["CodigoEstrategia"] = value; }
    }
    #endregion




}
